export interface SecurityEvent {
  type: SecurityEventType;
  severity: SecurityEventSeverity;
  message: string;
  timestamp: Date;
  source: string;
  metadata?: Record<string, any>;
}

export type SecurityEventType = 
  | 'authentication_failed'
  | 'unauthorized_access'
  | 'ip_blocked'
  | 'rate_limit_exceeded'
  | 'suspicious_activity'
  | 'invalid_token'
  | 'session_expired'
  | 'geo_location_blocked';

export type SecurityEventSeverity = 'low' | 'medium' | 'high' | 'critical';

export interface SecurityConfig {
  geoCheck: boolean;
  ipWhitelist: string[];
  ipBlacklist: string[];
  allowedCountries: string[];
  maxLoginAttempts: number;
  lockoutDuration: number;
  allowMultipleSessions: boolean;
}
